<?php

/**
 * 坤典智慧农场V6
 * @link https://www.cqkd.com
 * @description 软件开发团队为 重庆坤典科技有限公司
 * @description The software development team is Chongqing KunDian Technology Co., Ltd.
 * @description 软件著作权归 重庆坤典科技有限公司 所有 软著登记号: 2021SR0143549
 * @description 软件版权归 重庆坤典科技有限公司 所有
 * @description The software copyright belongs to Chongqing KunDian Technology Co., Ltd.
 * @description 本文件由重庆坤典科技授权予 重庆坤典科技 使用
 * @description This file is licensed to 重庆坤典科技-www.cqkd.com
 * @warning 这不是一个免费的软件，使用前请先获取正式商业授权
 * @warning This is not a free software, please get the license before use.
 * @warning 未经授权许可禁止转载分发，违者将追究其法律责任
 * @warning It is prohibited to reprint and distribute without authorization, and violators will be investigated for legal responsibility
 * @warning 未经授权许可禁止删除本段注释，违者将追究其法律责任
 * @warning It is prohibited to delete this comment without license, and violators will be held legally responsible
 */


namespace app\controller\admin\data;

use app\services\AdminServices;
use app\services\alarm\AlarmLinkageLogServices;
use app\services\alarm\AlarmWarningLogServices;
use app\services\device\DeviceOnlineLogServices;
use app\services\device\DeviceServices;
use app\services\gateway\GatewayOnlineLogServices;
use app\services\gateway\GatewayServices;
use app\services\monitor\MonitorServices;
use Couchbase\User;
use plugin\kundian\base\BaseController;



class OverviewController extends BaseController
{
    public function generalSituation(){
        $start_time=date('Y-m-d 00:00:00');
        $end_time=date('Y-m-d 23:59:59');
        $device_count=(new DeviceServices())->count(["admin_id"=>$this->adminId(),"is_del"=>0]);
        $admin_count=(new AdminServices())->count();
        $gateway_count=(new GatewayServices())->count(["admin_id"=>$this->adminId(),"del"=>0]);
        $monitor_count=(new MonitorServices())->count(["admin_id"=>$this->adminId(),"is_del"=>0]);
        $warning_count=(new AlarmWarningLogServices())->count(["admin_id"=>$this->adminId(),"start_time"=>$start_time,"end_time"=>$end_time]);
        $linkageLog_count=(new AlarmLinkageLogServices())->count(["admin_id"=>$this->adminId(),"start_time"=>$start_time,"end_time"=>$end_time]);
        return success(["device_count"=>$device_count,"admin_count"=>$admin_count,"gateway_count"=>$gateway_count,"monitor_count"=>$monitor_count,"warning_count"=>$warning_count,"linkageLog_count"=>$linkageLog_count]);
    }
}
